Skip to content

Dialog 对话框

封装 useDialog Hook,使用该函数可以方便的调用对话框。

import { useDialog } from 'qin-lantern'

当页面尺寸小于 md 时,会自动全屏对话框。

vue
<template>
  <el-button @click="open('打开时传递的数据')">
    弹框展示
  </el-button>

  <ql-dialog
    v-model="show"
    title="提示"
    :confirm="confirm"
  >
    我是内容
  </ql-dialog>
</template>
<script setup lang="ts">
import { useDialog } from 'qin-lantern'

// 模拟接口延时
import { delayed } from '@/utils'
const timedelay = delayed()

// 弹框Hook
const [show, AOP] = useDialog()
// 打开弹框
const open = AOP((data) => {
  console.log(data)
})

// 关闭弹框
const confirm = AOP(async () => {
  const data = await timedelay('我是弹框确认返回的数据')
  console.log(data)
})
</script>

<style scoped lang='scss'></style>

API

Attributes

属性名说明类型默认
v-model弹框展示booleanfalse
footer是否展示footerbooleantrue
sureText确认按钮文字string确认
cancelText取消按钮文字string取消
confirm确认按钮事件Function() => Promise.resolve()

Other Attributes